package br.ucb.managedBean;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import br.ucb.JPA.JogoDAO;
import br.ucb.negocio.Jogo;
import br.ucb.util.Valida;

@ManagedBean(name="jogoMB")
@SessionScoped
public class JogoManagedBean implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private JogoDAO dao = new  JogoDAO();
	
	private Jogo jogo;
	private List<Jogo> jogos;

	public List<Jogo> getListarJogos() {
        jogos  = dao.listar();
        return jogos;
    }

    public Jogo getJogo() {
        return jogo;
    }

    public void setJogo(Jogo jogo) {
        this.jogo = jogo;
    }

    public void prepararAdicionarJogo(ActionEvent actionEvent) {
        jogo = new Jogo();
    }

    public void adicionarJogo(ActionEvent actionEvent) {
    	FacesContext context = FacesContext.getCurrentInstance();
    	if(Valida.isJogo(jogo)){
    		dao.incluir(jogo);
            jogo = new Jogo();
    	}else{
    		context.addMessage(null, new FacesMessage("Erro", "Jogo já existente"));
    	}  	     
    }

    public void alterarJogo(ActionEvent actionEvent){
        dao.alterar(jogo);
    }

    public void excluirJogo() {
        dao.excluir(jogo);
    }
    
	public Jogo consultar(Long id) {
		return dao.consultar(id);
	}
}
